package com.zy.je.common.core.model;

import java.util.List;

/**
 * @author zy
 */

public interface ITreeNode<T, P extends ITreeNode<T, P>> {
    /**
     * 获取ID
     * @return
     */
    String getId();

    /**
     * 获取父级ID
     * @return
     */
    String getParentId();

    /**
     * 获取名称
     * @return
     */
    String getLabel();

    /**
     * 获取数据
     * @return
     */
    T getData();

    /**
     * 获取子集
     * @return
     */
    List<P> getChildren();

    /**
     * 设置子集
     * @param children
     */
    void setChildren(List<P> children);
}
